//+--------------------------------------------------------------------------------
//| Copyright (c) 2012 - 2013 ### an.vuongngocduy
//| This file is a part of Compact Game Engine (CGE)
//+--------------------------------------------------------------------------------
#ifndef __CGE_COMMONS_H__
#define __CGE_COMMONS_H__

#include "cgeCompileConfigs.h"

#ifdef _WIN32
#	define CGE_PLATFORM_WINDOWS
#endif

#ifdef CGE_PLATFORM_WINDOWS
#	include <windows.h>
#endif

namespace cge
{
#ifdef _MSC_VER
	
	typedef float f32;

	typedef double f64;

	typedef bool b8;

	typedef char c8;

	typedef wchar_t	c16;

	typedef unsigned char byte;

	typedef signed __int8 s8;

	typedef signed __int16 s16;

	typedef signed __int32 s32;

	typedef signed __int64 s64;

	typedef unsigned __int8 u8;

	typedef unsigned __int16 u16;

	typedef unsigned __int32 u32;
	
	typedef unsigned __int64 u64;

	typedef void* obj_t;

#if _MSC_VER >= 1600
#	define null nullptr
#else
#	define null NULL
#endif

#define PACKED_STRUCT_DEF __pragma(pack(push,1)) 
#define PACKED_STRUCT_END __pragma(pack(pop))

#else//_MSC_VER

#endif
}

#endif//__CGE_COMMONS_H_